home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 004 / mathstat.arc / S2.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1983-11-14  |  1.6 KB  |  78 lines

  1. 10   CLS:PRINT "MANN-WHITNEY U-TEST"
  2. 20   PRINT 
  3. 30   DIM X(25),Y(25)
  4. 40   DIM N(2)
  5. 50   FOR I = 1 TO 2
  6. 60   PRINT "SAMPLE ";I; ":"
  7. 70   PRINT " SIZE ";
  8. 80   INPUT N(I)
  9. 90   FOR J = 1 TO N(I)
  10. 100   PRINT "   DATA ";J;
  11. 110   INPUT Y(J)
  12. 120   NEXT J
  13. 130   FOR J = 1 TO N(I)
  14. 140   FOR K = 1 TO N(I) - J
  15. 150  C = Y(K)
  16. 160  D = Y(K + 1)
  17. 170   IF Y(K) < Y(K + 1) THEN 200
  18. 180  Y(K) = Y(K + 1)
  19. 190  Y(K + 1) = C
  20. 200   NEXT K
  21. 210   NEXT J
  22. 220   PRINT 
  23. 230   IF I = 2 THEN 270
  24. 240   FOR J = 1 TO N(1)
  25. 250  X(J) = Y(J)
  26. 260   NEXT J
  27. 270  NEXT I
  28. 279  REM - ADD UP RANKS
  29. 280  R = 1
  30. 290  I = 0
  31. 300  J = 0
  32. 310  I = I + 1
  33. 320  J = J + 1
  34. 330  IF I > N (1)  THEN 580
  35. 340  IF J > N (2)  THEN 620
  36. 350  IF X (I) < Y (J)   THEN 620
  37. 360  IF Y (J) < X (I)   THEN 590
  38. 369  REM - LINES 370 - 570 HANDLE EQUAL SCORES FROM BOTH SAMPLES
  39. 370  K = 2
  40. 380  M = I
  41. 390  L = J
  42. 400  R1 = 2 * R + 1
  43. 410  R = R + 2
  44. 420  I = I + 1
  45. 430  J = J + 1
  46. 440  IF I > N (1)   THEN 480
  47. 450  IF X (I) <> X (I-1)   THEN 480
  48. 460  I = I + 1
  49. 470  GOTO  510
  50. 480  IF J > N (2)   THEN 550
  51. 490  IF Y (J) <> Y (J-1)  THEN 550
  52. 500  J = J + 1
  53. 510  R1 = R1 + R
  54. 520  R = R + 1
  55. 530  K = K + 1
  56. 540  GOTO  440
  57. 550  X = X + (I - M)  * R1/K
  58. 560  Y = Y + (J-L)  * R1/K
  59. 570  GOTO  330
  60. 580  IF J > N (2)  THEN 660
  61. 590  Y = Y + R
  62. 600  J = J + 1
  63. 610  GOTO  640
  64. 620  X = X + R
  65. 630  I = I + 1
  66. 640  R = R + 1
  67. 650  GOTO  330
  68. 659  REM = U1 = NUMBER OF TIMES SAMPLE 1 SCORES PRECEDE SAMPLE 2 SCORES
  69. 660  U1 = N (1) * N (2) + N (1) * (N(1) + 1) /2 -X
  70. 669  REM - U2 = NUMBER OF TIMES SAMPLE 2 SCORES PRECEDE SAMPLES 1 SCORES
  71. 670  U2 = N (1) * N (2) + N (2) * (N(2) + 1) / 2-Y
  72. 680  PRINT
  73. 690  PRINT "FIRST SAMPLE PRECEDING , U ="; U1
  74. 700  PRINT "SECOND SAMPLE PRECEDING, U ="; U2
  75. 705  INPUT "Run again ";A$
  76. 706  IF A$="y" OR A$="Y" THEN 10
  77. 710  RUN "STAT"
  78.